6dbcbff9dbe1558b5b66d24f4bff5e2beac19619,workbench/source/jetbrains/mps/ide/smodel/WorkbenchModelAccess.java,WorkbenchModelAccess,tryWriteInCommand,#Runnable#Project#,468
Before Change
final boolean[] res = new boolean[]{false};
final Project project = p != null ? p : CurrentProjectAccessUtil.getProjectFromUI();
CommandProcessor.getInstance().executeCommand(
project,
new Runnable() {
public void run() {
ApplicationManager.getApplication().runWriteAction(new Runnable() {
public void run() {
try {
if (getWriteLock().tryLock(WAIT_FOR_WRITE_LOCK_MILLIS, MILLISECONDS)) {
try {
new CommandRunnable(r, project).run();
} finally {
getWriteLock().unlock();
}
res[0] = true;
}
} catch (InterruptedException ignore) {}
}
});
}
},
"", null, UndoConfirmationPolicy.DO_NOT_REQUEST_CONFIRMATION);
return res[0];
}
After Change
final Project project = p != null ? p : CurrentProjectAccessUtil.getProjectFromUI();
Runnable commandRunnable = new Runnable() {
@Override
public void run() {
try {
if (getWriteLock().tryLock(WAIT_FOR_WRITE_LOCK_MILLIS, MILLISECONDS)) {
try {
new CommandRunnable(r, project).run();
} finally {
getWriteLock().unlock();
}
}
} catch (InterruptedException e) {
return;
}
res[0] = true;
}
};
CommandProcessor.getInstance().executeCommand(
project,
new TryWriteActionRunnable(commandRunnable),
"", null, UndoConfirmationPolicy.DO_NOT_REQUEST_CONFIRMATION);
return res[0];
}